<?php

/**
 * StorageModel interface for the DataStore package.
 *
 * @package DataStore
 * @author matthijs
 * @author arjan.top
 * @author Chris Corbyn
 */
 
/**
 * StorageModel for persistence support.
 *
 * @package DataStore
 */
interface StorageModel {

  /**
   * Saves the $data provided to a storage medium.
   * $data is a mulitdimensional array with key-value mappings.
   * @param array $data
   * @return boolean
   */
  public function save($data);
  
  /**
   * Loads data from a storage medium as a multidimensional array.
   * @return array
   */
  public function load();

}
